package com.zhangtai.modules.dto;

import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zhangtai.config.LongJsonDeserializer;
import com.zhangtai.config.LongJsonSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

@Data
public class DimissionUpcomingDto {


	@TableId
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
		private Long id;
		/**
	 * 员工id
	 */

		@JsonDeserialize(using = LongJsonDeserializer.class)
		@JsonSerialize(using = LongJsonSerializer.class)
		@ApiModelProperty(value = "员工id", required = false)
		private Long oid;

	/**
	 * 离职申请id
	 */

	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	@ApiModelProperty(value = "离职申请id", required = false)
	private Long auditId;

	/**
	 * 录用员工工号
	 */
	@ApiModelProperty(value = "录用员工工号", required = false)
	private String code;

	/**
	 * 录用员工姓名
	 */
	@ApiModelProperty(value = "录用员工姓名", required = false)
	private String name;

	/**
	 * 拟录用岗位
	 */
	@ApiModelProperty(value = "拟录用岗位", required = false)
	private String jobname;


	/**
	 * * 拟录用公司
	 */
	@ApiModelProperty(value = "拟录用公司", required = false)
	private String orgname;
	/**
	 * 公司id
	 */
	@ApiModelProperty(value = "公司id", required = false)
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	private Long orgId;


	/**
	 * 拟录用部门
	 */
	@ApiModelProperty(value = "拟录用部门", required = false)
	private String unitname;
	/**
	 * 部门id
	 */
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	@ApiModelProperty(value = "部门id", required = false)
	private Long unitId;

	/**
     * 体系
	 */
	@ApiModelProperty(value = "体系", required = false)
	private String jobSystem;
	/**
	 * 体系id
	 */
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	@ApiModelProperty(value = "体系id", required = false)
	private Long jobSystemId;

	/**
	 * 条线
	 */
	@ApiModelProperty(value = "条线", required = false)
	private String line;
	/**
	 * 条线id
	 */
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	@ApiModelProperty(value = "条线id", required = false)
	private Long lineId;


	/**
	 * 预计入职时间
	 */
	@ApiModelProperty(value = "预计入职时间", required = false)
	private Date hiredate;

	/**
	 * 离职日期
	 */
	@ApiModelProperty(value = "离职日期", required = false)
	private Date dimissionTime;


	/**
	 * 工作年限 司龄
	 */
	@ApiModelProperty(value = "工作年限 司龄", required = false)
	private String workingYears;


	/**
	 * 申请日期
	 */
	@ApiModelProperty(value = "申请日期", required = false)
	private Date applyTime;

	/**
	 * 状态
	 */
	@ApiModelProperty(value = "状态", required = false)
	private Integer status;


	/**
	 * 职级id
	 */
	@ApiModelProperty(value = "职级id", required = false)
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	private Long jobLevelId;

	/**
	 * 职级
	 */
	@ApiModelProperty(value = "职级", required = false)
	private String jobLevel;

	/**
	 * 职级类别，1：专业2:管理，
	 */
	@ApiModelProperty(value = "职级类别，1：专业2:管理，", required = false)
	private Integer jobLevelType;


	/**
	 * bpm详情
	 */
	@ApiModelProperty(value = "bpm详情", required = false)
	private String bpmDetailUrl;



	/**
	 * 审计结果录入 0 正常 1异常
	 */
	@ApiModelProperty(value = "审计结果录入 0 正常 1异常", required = false)
	private Integer auditStatus;
	/**
	 * 审计结束日期
	 */
	@ApiModelProperty(value = "审计结束日期", required = false)
	private Date auditTime;

	/**
	 * 审计说明
	 */
	@ApiModelProperty(value = "审计说明", required = false)
	private String remark;

	/**
	 * 流程编号
	 */
	@ApiModelProperty(value = "流程编号", required = false)
	private String processNumber;

	/**
	 * 附件地址
	 */
	@ApiModelProperty(value = "附件地址", required = false)
	private String  annexUrl;



	/**
	 * 附件地址
	 */
	@ApiModelProperty(value = "附件地址", required = false)
	private List<String>  annexUrlList;



}
